/*
 * AnimatedImage.java
 *
 * Created on 25 Июнь 2008 г., 10:32
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package Animation;

import java.io.IOException;
import java.util.*;
import javax.microedition.lcdui.*;

// Определяем анимированное изображение, которое
// фактически является набором рисунков одинакового размера,
// выводящихся друг за другом и создающих эффект движения.

public class AnimatedImage {
    
    private static Image images;
    private static Vector clipList;

    private static int size;

    private static int imgSizes;

    private static int width;
    private static int height;

    public AnimatedImage(String imgPath, int size){
        this.size=size;
        loadImage(imgPath);
    }
    
    private void loadImage(String imgPath) {
        try {
            images = Image.createImage(imgPath);
            imgSizes=images.getHeight();
            height=imgSizes;
            width=images.getWidth();
        } catch (IOException ex) { }
    }

    public static void draw(Graphics g, int index, int x, int y) {
        if (images==null) return;
        
        int ho=g.getClipHeight();
        int wo=g.getClipWidth();
        int xo=g.getClipX();
        int yo=g.getClipY();
        
        int iy=y;
        int ix=x-imgSizes*(index);
        g.clipRect(x, y, imgSizes, imgSizes);
        try {
            g.drawImage(images,ix,iy,Graphics.TOP|Graphics.LEFT);
        } catch (Exception e) {}
        g.setClip(xo,yo, wo, ho);

    }
}